1. Field of the Invention
The present invention relates to a system and method for application management, and more particularly to a system and method for managing applications for deployment over a network.
2. Discussion of the Related Art
Typically, an application deployment tool is used to deploy (i.e., install/uninstall) application packages to servers in a computing environment. These deployment tools generally require that the applications for deployment are packaged in a format supported by the deployment tool. The deployment tool then manages the association of the package-to-application and application-to-server. These application “packages” are generally a compilation of the application, its supporting files, and metadata that describes the package and the files therein. As developers package their applications, they generally end up making modifications to the files. However, in order to incorporate the changes, the package must be completely rebuilt even though some of the files may not have changed. Accordingly, the developers' packages may take up enormous amount of storage space with most of the space being taken up by unnecessary redundant files, thereby wasting storage space. Moreover, during deployment and install/reinstallation procedures, all of the files in the application package are uploaded even though only a few files in the application package have changed. Furthermore, typical deployment tools rely on package databases having to be local to each server to store the data on which the packages have been installed. Accordingly, this dependence prevents the deployment of the applications in the packages to virtual servers in clustered environments, such as Network Filesystem Servers (“NFS”).